Product : ISaGRAF V3
Date : 25-July-1997
File : Wbstdlib.where standard F and FB are defined in the ISaGRAF Workbench.htm
Subject : where standard Functions and Function Blocks are defined in the ISaGRAF Workbench?
Keywords: Standard function - standard function block - function
function block
____________________________________________________________________
The definition is done through the following files:
- isawin\exe\isa.lib
- isawin\exe\isa.smb
(isawin stands for the initial installation directory)
____________________________________________________________________
1) Integration in isa.lib:
the syntax is as following (without any blank):
{ID=proc_number:proc_name
# param_type direction param_name
# param_type direction param_name
# param_type direction param_name
..................
..................
}
With:
ID:
F for a function
B for a function block
proc_number:
Logical number.
For a function, It corresponds to the procedure number used in
the kernel call entry point. Therefore it makes the link between
the procedure name and its corresponding code in the kernel.
The maximum value is 255.
For a block, this number is used within the kernel core.
It does not directly correspond to the kernel call entry point.
The link between the Fbl procedure name, its number and its
corresponding code in the kernel is done at run time.
The maximum value is 255, but is limited for the moment to 40
by the target kernel.
proc_name:
Procedure name (case sensitive for display)
param_type:
Parameter type. It can be:
B for Boolean
A for Analog
R for Real
M for Message
T for Timer
direction:
< for Input
> for output
There is only one output in a function. For both functions or
function blocks, output(s) must be placed at the end
param_name:
Name of the parameter (case sensitive for display).
----------------------------------------------------------------
2) Integration in isa.smb for functions:
The syntax is as following (without any blank):
!--------------------- USF: XXX --------------------------
#F,INTERN,out_type,G,R,proc_name,O,nb_in,in_types,STD,proc_nber
With:
out_type:
Output parameter type. It can be:
BOOLEAN
INTEGER
REAL
MESSAGE
TIMER
proc_name:
Procedure name (in upper case)
nb_in:
Number of inputs
in_types:
List of input types (same order as isa.lib). It can be
BOOLEAN
INTEGER
REAL
MESSAGE
TIMER
proc_nber:
Procedure number (same as isa.lib)
----------------------------------------------------------------
3) Integration in isa.smb for function blocks:
The syntax is as following (without any blank):
!--------------------- FBL_NAME --------------------------
Inputs definitions:
#P,INTERN,param_type,L,W,in_name,O,PARAM
.......
.......
.......
outputs definitions:
#P,INTERN,param_type,L,R,out_name,O,PARAM
.......
.......
.......
Block definition:
#B,INTERN,NIL,G,F,fbl_name,O,nb_in,param_names,STD
With:
param_type:
Parameter type. It can be:
BOOLEAN
INTEGER
REAL
MESSAGE
TIMER
in_name:
Input parameter name. Always composed of the Fbl name:
fbl_name.input_name (in upper case)
out_name:
Output parameter name. Always composed of the Fbl name:
fbl_name.output_name (in upper case)
fbl_name:
Function Block name (in upper case)
nb_in:
Number of inputs
param_names:
List of the previously defined parameters: in_name(s),
out_name(s).
----------------------------------------------------------------
Copyright © 1996-2009 ICS Triplex ISaGRAF Inc. All rights reserved.